Overview

This document contains analyses for the first versions of the browser-based mirror reversal experiment we conducted. The experiment we discuss in the manuscript is the updated version that we made to address the different issues we encountered with the versions discussed here.

Participants reached to two targets (30 and 60 degrees in polar coordinates) using their computer mouse or trackpad. There were two groups, an instructed and non-instructed group. The instructed group were told about the nature of the perturbation (i.e. cursor is in the opposite direction of the hand/mouse, flipped along the y-axis), while the non-instructed group were simply told that the cursor would be moving differently and they needed to compensate for it.

Set up the R enviornment

We have written code that pre-processes the data, plots figures, and runs statistical tests. Import the sources below:

source('ana/shared.R')
source('ana/su&fa2020online.R')
source('ana/qualtricsdata.R')
source('ana/mironline_fa2020.R')
source('ana/mirgeneralization_fa2020.R')

Data sets

There are three data sets associated with these analyses. 1) mReversalNewALpha3-master (Summer 2020): This includes the instructed participants. 2) mirrorreversal-fall (Fall 2020): This includes the non-instructed participants. 3) mirrorgeneralization-master (Winter 2021): This includes non-instructed participants that returned to complete the second session.

Cleaning the data

Some participants or data files had to be removed due to different issues, including: 1) incomplete or duplicate data, mismatch in IDs, technical problems 2) no corresponding Qualtrics data 3) did not use a mouse or trackpad 4) did not approve consent form but did the task 5) indicated neurological disease 6) cleaned baseline (aligned) reaches

For baseline reaches, some participants were reaching in different directions, even though the task required that they reach towards targets in the upper-right quadrant of the workspace. Here, we only included trials that fell within this quadrant for the aligned session. If a participant was left with less than half the data for each target location (i.e. less than 5 trials), they were removed from further analyses.

This led to N = 102 for the instructed group, N = 609 for the non-instructed group, and N = 364 participants completed the generalization experiment.

Experiment Schedule

The experiment had 20 trials of aligned cursor feedback, followed by 90 mirror reversed trials, then 20 washout trials with aligned cursor feedback. Although both data sets follow the schedule of aligned - mirror reversal - washout blocks, the data sets were collected at different points during the development of the experiment. In the Summer 2020 or instructed participants data set, all participants started with the 30 degree target and following trials alternated with the other target location. In other words, all odd trials will contain the 30 degree target location, and even trials will contain the 60 degree target location. In the Fall 2020 or non-instructed participants data set, we implemented a randomization of the target location presented. Therefore, around half of participants started with the 30 degree target, while the other half started with the 60 degree target. The target locations presented in the next trials after were randomized, but each participant made an equal amount of reaches to each target.

Dealing with circular data points

Reach data are pre-processed to have target locations aligned to zero. Thus, the magnitude of a given value compared to zero would indicate the angular reach deviation, and the sign of this value would indicate the direction with respect to target. Due to the nature of the mirror reversal, participants make reaches in highly variable directions. This means that they can have angular reach deviations of 180 degrees and -180 degrees. Treating these values as linear makes it seem as if these values are in two different opposite locations, which is not the case. This is why we transformed that data to be circular (i.e., both values would be at 180 degrees in a circle). The advantage of transforming the data to circular numbers is evident when calculating the mean values for angular reach deviations across trials. Consider the example below:

numdat <- c(-175, -170, -165, 165, 170, 175)
circdat <- as.circular(numdat, type='angles', units='degrees', template = 'none', modulo = 'asis', zero = 0, rotation = 'counter')
plot(numdat)

plot(circdat)

mean(numdat)
## [1] 0
mean.circular(circdat)
## Circular Data: 
## Type = angles 
## Units = degrees 
## Template = none 
## Modulo = asis 
## Zero = 0 
## Rotation = counter 
## [1] 180

Here, we see that the mean for the data when treated as numeric is at 0 degrees, while the mean for the circular data is at 180 degrees. Importantly, all learning curve figures within our analyses use circular data. That is, the reach deviations are transformed into circular numbers, then 95% bootstrapped confidence intervals are calculated based on the mean of this circular data. These values are then just transformed back to a numeric type, in order to plot them on a 2-dimensional figure (i.e. plot with x and y axes). (For more information see code for function: getCircularConfidenceInterval in shared.R)

Discrepancy between 2-D and circular plot?

plotCircularAllTasks(set='fa2020')

30 degree Target
30 degree Target

Let’s consider the Fall 2020 (non-instructed) data set. We observe with the learning curve plot that by the second trial, participants are already at perfect compensation (120 degrees) for the 30 degree target, then this dips down to around 90 degrees. However, when we look at the circular plot for trial 2, the peak of the density distribution (blue curve around plot) is at a higher value than perfect compensation. It is important to note that the peak of this density is not equivalent to the mean, given that the values are distributed all around. While the mean values for every trial are equivalent to those shown in the 2-D plot, the density distribution peaks are higher at a different value than the mean depending on how many participants have reaches within a particular location. In other words, the peak is representing the mode of the distribution. Note, however, that the peak may not always be the mode, as different locations can have the same frequency values (multiple modes).

Individual distributions on a 2-D plot

Next, we can investigate the mean values observed in our learning curve figures by simply showing angular reach deviations from every participant, across all trials. We show such a plot for every target location for the two data sets (non-instructed, followed by instructed).

plotIndividualAllTasks(set='fa2020')

plotIndividualAllTasks(set='su2020')

Note for these plots that 180 and -180 are the same locations in space. We observe a variable distribution of reach deviations during the mirror reversed trials. For example, with the non-instructed set, there seems to be a bimodal distribution for the 30 degree target, where we see deviations around perfect compensation and some closer to zero. The red line indicates the circular mean, which is equivalent to values we observe from the learning curve figures. The orange line is what the mean would be, based on just the numerical values of the dots. The circular mean is a better representation, but is clearly being biased by the bimodal distribution.

The circular men seems to be higher for the first few mirror reversed trials. It seems to be pulled by having more deviations in the negative direction (equal to or even more negative than -180). Again, given that these are similar locations to + 180 degrees, it would make sense that the mean would be where it is. However, deviations in this direction diminish in later trials, thereby losing the effect it had on the mean during early trials. Thus, the mean in later trials is positioned in between the bimodal distribution. This may explain the “drift” that we observe with the learning curve for the 30 degree target in the non-instructed data set.

For washout trials, we also observe reaches that are not near zero. These likely just reflect participants with noisy data (i.e. reaching in various directions). Note that this is not seen in aligned trials because we deliberately considered only reach deviations that fell within the upper-right quadrant of the workspace (see baseline cleaning procedure). However, majority of the responses and the mean values are still around zero, indicating the absence of reach aftereffects.

Interestingly, it seems like the bimodal distribution is more evident with the 30 degree target, compared to the 60 degree target. Moreover, we observe a larger “drift” in learning for the 30 degree target. Learning could be dependent on target location then, or how far the target is from the mirror axis. Such a target effect is one of our motivating reasons to explore the different target locations in the manuscript.

Heatmaps for each target location

We can also generate heatmaps of these angular reach deviations for each group and target location. For these heatmaps, angles are binned into 10 degrees between -200 to 200 deg. Then each participant’s reach deviation for each trial is categorized into these bins. Reach deviations within each bin are then summed to calculate a count/frequency for that bin in each trial. Finally, a heatmap is generated to show the frequency of reach deviations across trials.

Non-instructed group

plotHeatmaps(set='fa2020')

Instructed group

plotHeatmaps(set='su2020')

For both groups, we see that bins with the highest frequency are near zero for aligned and washout trials, and centred near perfect compensation for mirrored trials. Frequencies are more variable for the 60 degree target location, compared to the 30 degree location.

Alternative to generating Confidence Intervals for circular data points

While we analyzed the Summer 2020 (instructed participants) data using the transformation to circular data points as we discussed above, we realized from the online experiment (i.e. experiment in manuscript, see Analyses_MirRevAdapt.Rmd) that targets far from the mirror axis also present the problem of showing wide confidence intervals (CIs). That is, since perfect compensation for the far target is at 170 degrees (close to 180 degrees), the circular data points will either be in the positive or negative direction. Thus, the CIs generated on a 2-D plot will span the full range from -180 degrees to +180 degrees.

To fix this, we first took the circular data points and converted them from degrees to radians. We then calculated a sum of sin and sum of cos of these values in radians, before converting back to degrees using the function atan2. We bootstrap these values with replacement (1000 resamples), such that we are able to generate lower, middle, and upper values to generate CIs. Then to deal for problems with the far target, we add 360 degrees for bootstrapped values below -90 degrees (i.e. angles of -90 to -180) for only the far group. This allowed us to generate more accurate CIs as we show in the manuscript plots. We note that this method of generating bootstrapped angular reach deviations (see getAngularReachDevsCI function in shared.R) do not produce qualitatively different means, just slightly more accurate estimates since it was bootstrapped. The difference is mainly adjusting CIs for the far target, which neither the Summer 2020 (instructed) or Fall 2020 (non-instructed) data have. Regardless, since bootstrapped estimates are more accurate, we use this function to generate plots for the Fall 2020/ non-instructed participants. Below is an example that plots the Fall 2020 data using both methods of generating CIs. We observe no differences between methods for plotting the learning curves.

plotCircularAllTasks(set='fa2020')

plotMirOnlineAllTasks()

Learning rates and aftereffects

The plots below show angular reach deviations across all experimental blocks for each group, according to target location. Solid lines are means and shaded regions are 95% confidence intervals. Reaching directly towards the target would correspond to zero degrees. Perfect compensation for the 30 degree target would be deviating the mouse position by 120 degrees, while the 60 degree target would require a 60 degree deviation.

Non - instructed group:

plotMirOnlineAllTasks()

Instructed group:

plotCircularAllTasks(set='su2020')

There seems to be a difference between target locations during the aligned session, although this difference is likely due to reach biases in relation to each target location. Note that without the baseline cleaning procedure we implemented, these lines during baseline are overlapping. Regardless, reaches during the aligned session are near the zero degree mark.

Learning progresses quickly for both groups. Participants reach near perfect compensation for the 60 degree target. Reaches for the 30 degree target are deviated, but not quite near perfect compensation.

No reach aftereffects are observed for either group. Given that de novo learning establishes a new response mapping within the brain, we expect an absence of reach aftereffects, unlike in adaptation, to support the idea that participants switch between response mappings with the mirror reversal task.

For the instructed group, we were only interested in seeing the effect of instructions on their performance in the initial trials. Instructions did not seem to provide an advantage for dealing with the mirror reversal. If there was an effect of instructions, we would expect to see reaches for the first trial deviated towards the correct direction. However, the mean of the reaches for the 30 degree target during the first trial in the instructed group are near the zero degree mark. As this is a browser-based study, instructions were only printed on the screen before participants started the mirror reversed trials. The lack of an effect of instructions could be that some participants did not fully understand the nature of the perturbation and the strategy to counter for it.

Hence, we present statistical analyses for the non-instructed participants only. We test for target or block effects for each of the trial types. The two targets are either the 30 degree or 60 degree location. In the aligned session blocks are defined as the first three trials, second three trials, and last three trials of aligned reaches. We conduct a 3x2 within-subjects design (block x target) ANOVA.

alignedMirOnlineANOVA()
## Angular reach deviations during aligned trials across targets and blocks: 
## $ANOVA
##         Effect DFn  DFd         F           p p<.05          ges
## 2        block   2 1216 1.3325364 0.264192238       6.430257e-04
## 3       target   1  608 6.8648491 0.009010335     * 2.041114e-03
## 4 block:target   2 1216 0.1018164 0.903203060       5.882885e-05
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 2        block 0.9460245 4.857066e-08     *
## 4 block:target 0.9456366 4.288587e-08     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 2        block 0.9487887 0.2638479           0.9516746 0.2638716          
## 4 block:target 0.9484396 0.8938383           0.9513228 0.8943877

We find a main effect of target, which is seen with the aligned reaches on the plot. Next, we conduct a 3x3 (block x target) within-subjects ANOVA for the mirror reversed trials. For blocks, these were defined as the first three, second three, and last 15 trials of training. We also transformed the angular reach deviations to percentages of compensation, to make the two targets comparable.

mirOnlineANOVA()
## $ANOVA
##         Effect DFn  DFd         F            p p<.05         ges
## 2       target   1  608 69.979854 4.108995e-16     * 0.017517842
## 3        block   2 1216 15.271597 2.815502e-07     * 0.008303940
## 4 target:block   2 1216  3.011231 4.959833e-02     * 0.001313757
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.9086243 2.342306e-13     *
## 4 target:block 0.7903841 9.860211e-32     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.9162747 7.531795e-07         * 0.9189067 7.302185e-07
## 4 target:block 0.8267087 5.963508e-02           0.8286772 5.951108e-02
##   p[HF]<.05
## 3         *
## 4

We find main effects of target and block. From the plot, we see that the target effect is driven by near perfect compensation for the 60 degree location, but less compensation for the 30 degree location.

MirOnlineComparisonsEffSize()
##  contrast              estimate   SE  df t.ratio p.value
##  First vs second block    18.47 3.81 608   4.841  <.0001
##  First vs last block      10.24 3.17 608   3.232  0.0039
##  Second vs last block     -8.22 3.01 608  -2.735  0.0192
## 
## P value adjustment: bonferroni method for 3 tests 
##                contrast etasquared
## 1 First vs second block 0.03712110
## 2   First vs last block 0.01689490
## 3  Second vs last block 0.01215772

Follow-up tests on the block effect show that the first block had the lowest compensation percentages. We then see an increase in compensation in the second block, before going down for the last block. Then, we run the same 3x2 (block x target) within-subjects ANOVA for the washout trials. The blocks are defined similar to how they were defined for the aligned trials.

RAEMirOnlineANOVA()
## Angular reach deviations during washout trials across targets and blocks: 
## $ANOVA
##         Effect DFn  DFd          F            p p<.05          ges
## 2        block   2 1216  0.8831593 4.137396e-01       0.0004273411
## 3       target   1  608 45.4365261 3.668648e-11     * 0.0133624510
## 4 block:target   2 1216  0.6758087 5.089358e-01       0.0003519011
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W          p p<.05
## 2        block 0.9972469 0.43313323      
## 4 block:target 0.9889717 0.03453882     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 2        block 0.9972545 0.4134924           1.0005322 0.4137396          
## 4 block:target 0.9890920 0.5073813           0.9923026 0.5078406

We find a main effect of target, which is observed from the plot. Angular reach deviations were lower for the 30 degree location. Finally, we can compare the washout trials with the aligned reaches, to test for reach aftereffects. We conduct a 2x2 (target x block) within-subjects ANOVA.

RAEBaselineANOVA()
## Comparing angular reach deviations during washout trials with aligned trials across targets and blocks, trained hand:
## $ANOVA
##                 Effect DFn  DFd           F            p p<.05          ges
## 2                block   2 1216  2.13458559 1.187367e-01       5.056099e-04
## 3               target   1  608 47.68537619 1.263497e-11     * 7.094130e-03
## 4              session   1  608  0.50471228 4.777093e-01       8.345707e-05
## 5         block:target   2 1216  0.37390348 6.881224e-01       1.023860e-04
## 6        block:session   2 1216  0.01441299 9.856906e-01       3.554774e-06
## 7       target:session   1  608 13.74846693 2.281007e-04     * 2.033230e-03
## 8 block:target:session   2 1216  0.51528195 5.974625e-01       1.384016e-04
## 
## $`Mauchly's Test for Sphericity`
##                 Effect         W          p p<.05
## 2                block 0.9962544 0.32016385      
## 5         block:target 0.9865672 0.01649858     *
## 6        block:session 0.9925457 0.10322489      
## 8 block:target:session 0.9935426 0.13999201      
## 
## $`Sphericity Corrections`
##                 Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF]
## 2                block 0.9962684 0.1189382           0.9995379 0.1187616
## 5         block:target 0.9867453 0.6853053           0.9899367 0.6859872
## 6        block:session 0.9926009 0.9852963           0.9958403 0.9854702
## 8 block:target:session 0.9935841 0.5962887           0.9968315 0.5968837
##   p[HF]<.05
## 2          
## 5          
## 6          
## 8

There is no main effect of session, but we find a session x target interaction.

RAEBaselineComparisonsEffSize()
##  contrast                   estimate   SE  df t.ratio p.value
##  Baseline_30 vs. Washout_30    -3.07 1.54 608  -1.989  0.0944
##  Baseline_60 vs. Washout_60     4.62 1.47 608   3.137  0.0036
## 
## P value adjustment: bonferroni method for 2 tests 
##                     contrast  etasquared
## 1 Baseline_30 vs. Washout_30 0.006461992
## 2 Baseline_60 vs. Washout_60 0.015925797

Follow-up tests show that this is due to the difference in the 60 degree target from aligned to washout trials. Nevertheless, reaches in washout trials are near zero, suggesting the absence of reach aftereffects.

Importantly, we observe that the reaches are already deviated during the first trial of mirror reversed reaches. Hence, we investigate this further.

Reach distributions and workspace exploration

To get a complete picture of how participants are performing, we can plot the distribution of angular reach deviations of all participants within each group. The plots below will show a circular density distribution, where zero degrees (red line) corresponds to no compensation (i.e. hand/mouse goes directly to target location), and perfect compensation is marked with a green line depending on the target location. The animated plots also show how the distribution of responses changes across the 90 trials of mirror reversed training.

Non - instructed group

30 degree Target
30 degree Target
60 degree Target
60 degree Target

For both targets, we see a somewhat bimodal distribution in trial 1. We also see a general shift of responses towards the correct reach direction almost immediately in the following trials (i.e. highest peak in distribution moves towards perfect compensation location for each target).

Move throughs or exploration

To investigate why we get a subset of participants already reaching in the correct direction relative to the mirror axis by trial 1, our hypothesis is that participants are making exploratory movements. That is, before the first mirror reversed trial begins, participants had to bring the cursor to the start position at the centre of the screen. However, during this time, the mirror reversal has already been implemented, which would have led to participants knowing which approximate direction they should reach, in order to successfully complete the upcoming trial.

These exploratory movements may be measured with what we will call as a move through. A given trial is divided into 3 steps. Step 1 would be bringing the cursor to the start position, step 2 will be the target appearance and reach towards its location, and step 3 would be the return movement to the start position. A participant needs to stay at the start position in order for step 1 to change to step 2. However, a move through would occur when participants do not hold at the start position, thereby making the current trial stay at step 1. This allows them to explore the mirror reversed relationship of the cursor with their movements. In the experiment, an ideal trial will collect two samples at step 1, before switching to step 2. Therefore, participants with trials that have 3 or more samples at step 1 are considered as those that committed a move through. Below are the frequencies of participants with move throughs for each target location, across the 90 mirror reversed trials.

plotParticipantMoveThrough(set='fa2020')

We see that move throughs are very much persistent on trial 1. Therefore, we can plot the circular density distributions for trial 1 while separating participants into subgroups of those with or without move throughs (i.e., those that did and did not explore the workspace).

plotTrialOneCheckGroupCircFreq(set='fa2020')

For both target locations, participants that explored the workspace are more likely to have reach deviations in the correct side of the mirror, while the non-explorers reach directly towards the target. Thus, we can plot the learning curves for each target location, while separating participants into these two subgroups.

plotMoveThroughAllTasks(set='fa2020')

The plots show that the already deviated reaches by trial one that was shown earlier was a reflection of how the mean was being pulled away from the zero degree mark by those participants that explored the workspace. Otherwise, participants that did not explore the workspace are reaching directly towards the target during trial one. Regardless, participants learn quickly that they should be reaching in the opposite direction.

Movement Time

As further evidence for the exploratory behavior, we can also investigate whether there is a relationship between movement time during step 1 (holding at home position), and the corresponding angular reach deviation that was produced for that trial. If there is, then it would support the hypothesis that exploratory behavior is linked to knowing where to reach during the trial.

plotGroupRDMT(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -205.67  -44.62  -32.76   68.59  139.88 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  49.3952     4.1469   11.91  < 2e-16 ***
## time          5.5317     0.8767    6.31 9.65e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 63.3 on 310 degrees of freedom
##   (297 observations deleted due to missingness)
## Multiple R-squared:  0.1138, Adjusted R-squared:  0.1109 
## F-statistic: 39.81 on 1 and 310 DF,  p-value: 9.652e-10
plotGroupRDMTOutlierRemoved(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -166.05  -34.30  -23.36   49.04  148.75 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   37.931      4.254   8.916   <2e-16 ***
## time          13.928      1.512   9.211   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 59.02 on 296 degrees of freedom
##   (311 observations deleted due to missingness)
## Multiple R-squared:  0.2228, Adjusted R-squared:  0.2201 
## F-statistic: 84.84 on 1 and 296 DF,  p-value: < 2.2e-16

For the 30 degree target, we find a significant relationship between step 1 movement time and the corresponding reach deviation for that trial. The relationship holds after removing 14 outlier participants for this analysis. Outliers are considered as participants with movement times that are +/- 2 SD from the mean.

plotGroupRDMT(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -230.33  -37.71  -26.55   36.37  141.88 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  44.2763     3.5871  12.343  < 2e-16 ***
## time          3.6394     0.6748   5.393 1.42e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 56.06 on 295 degrees of freedom
##   (312 observations deleted due to missingness)
## Multiple R-squared:  0.08974,    Adjusted R-squared:  0.08666 
## F-statistic: 29.08 on 1 and 295 DF,  p-value: 1.423e-07
plotGroupRDMTOutlierRemoved(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -132.65  -29.22  -18.42   20.33  152.59 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   33.475      3.614   9.262  < 2e-16 ***
## time          11.460      1.356   8.453 1.56e-15 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 51.47 on 281 degrees of freedom
##   (326 observations deleted due to missingness)
## Multiple R-squared:  0.2027, Adjusted R-squared:  0.1999 
## F-statistic: 71.45 on 1 and 281 DF,  p-value: 1.56e-15

For the 60 degree target, we find the same results. Here, 14 outlier participants were removed.

When we separate participants into the two subgroups of explorers and non-explorers, the relationship is not statistically significant. However, we find a clear distinction in the plots below that explorers have longer step 1 movement times, and have more reach deviations near full compensation.

plotMoveThroughGroupRDMT(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.582 -15.968  -9.645  -2.335 166.345 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)   19.826      8.283   2.394    0.018 *
## time          47.349    494.537   0.096    0.924  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 36.05 on 143 degrees of freedom
## Multiple R-squared:  6.41e-05,   Adjusted R-squared:  -0.006928 
## F-statistic: 0.009167 on 1 and 143 DF,  p-value: 0.9239

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -111.18  -77.01   30.38   59.67  102.13 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  96.7010     7.1049  13.611   <2e-16 ***
## time          0.5239     1.0990   0.477    0.634    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.83 on 165 degrees of freedom
## Multiple R-squared:  0.001376,   Adjusted R-squared:  -0.004677 
## F-statistic: 0.2273 on 1 and 165 DF,  p-value: 0.6342
plotMoveThroughGroupRDMT(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -21.696 -16.397 -10.265   0.473 164.743 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)   20.689      7.824   2.644  0.00903 **
## time          64.247    513.147   0.125  0.90052   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32.95 on 156 degrees of freedom
## Multiple R-squared:  0.0001005,  Adjusted R-squared:  -0.006309 
## F-statistic: 0.01568 on 1 and 156 DF,  p-value: 0.9005

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -100.862  -61.157   -1.784   58.094   95.447 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  85.6712     6.6696  12.845   <2e-16 ***
## time          0.3747     0.8584   0.437    0.663    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 62.07 on 137 degrees of freedom
## Multiple R-squared:  0.001389,   Adjusted R-squared:  -0.0059 
## F-statistic: 0.1905 on 1 and 137 DF,  p-value: 0.6631

Similar results are obtained even if we run the regression on the data with outliers removed.

plotMoveThroughGroupRDMTOutlierRemoved(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.582 -15.968  -9.645  -2.335 166.345 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)   19.826      8.283   2.394    0.018 *
## time          47.349    494.537   0.096    0.924  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 36.05 on 143 degrees of freedom
## Multiple R-squared:  6.41e-05,   Adjusted R-squared:  -0.006928 
## F-statistic: 0.009167 on 1 and 143 DF,  p-value: 0.9239

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -108.84  -73.33   30.79   56.79  103.88 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   90.434      9.553   9.467   <2e-16 ***
## time           2.889      2.433   1.188    0.237    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.46 on 151 degrees of freedom
##   (14 observations deleted due to missingness)
## Multiple R-squared:  0.009253,   Adjusted R-squared:  0.002691 
## F-statistic:  1.41 on 1 and 151 DF,  p-value: 0.2369
plotMoveThroughGroupRDMTOutlierRemoved(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -21.696 -16.397 -10.265   0.473 164.743 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)   20.689      7.824   2.644  0.00903 **
## time          64.247    513.147   0.125  0.90052   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32.95 on 156 degrees of freedom
## Multiple R-squared:  0.0001005,  Adjusted R-squared:  -0.006309 
## F-statistic: 0.01568 on 1 and 156 DF,  p-value: 0.9005

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -92.962 -60.849  -8.825  58.762  98.745 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   74.937      9.178   8.164 3.24e-13 ***
## time           3.240      2.288   1.416    0.159    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 62.05 on 123 degrees of freedom
##   (14 observations deleted due to missingness)
## Multiple R-squared:  0.01604,    Adjusted R-squared:  0.008041 
## F-statistic: 2.005 on 1 and 123 DF,  p-value: 0.1593

In addition to these, we can also show completion times during the reach to the target for all trials in the experiment.

plotAllTasksMT(set='fa2020')

We find that movement times are initially longer during the first few trials of the mirror reversal, but eventually get close (but not similar) to baseline levels.

We conduct the same statistical tests as we did for reaching performance, but now use completion time for the dependent variable. We conduct a 3x2 (block x target) within-subjects ANOVA for aligned trials.

alignedMTMirOnlineANOVA()
## Movement time during aligned trials across targets and blocks:
## $ANOVA
##         Effect DFn  DFd          F            p p<.05          ges
## 2        block   2 1216 98.8451798 1.675720e-40     * 4.409842e-02
## 3       target   1  608  3.8047410 5.156675e-02       3.629528e-04
## 4 block:target   2 1216  0.2228674 8.002536e-01       3.930163e-05
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 2        block 0.5745964 9.260546e-74     *
## 4 block:target 0.9092764 2.912175e-13     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 2        block 0.7015557 2.823150e-29         * 0.7026864 2.559547e-29
## 4 block:target 0.9168226 7.811126e-01           0.9194587 7.817542e-01
##   p[HF]<.05
## 2         *
## 4

We find a main effect of block, but no interaction.

alignedMTMirOnlineComparisonsEffSizeBlockEffect()
##  contrast               estimate     SE  df t.ratio p.value
##  first vs. second block   -0.420 0.0434 608  -9.677  <.0001
##  first vs. last block     -0.607 0.0556 608 -10.912  <.0001
##  second vs. last block    -0.187 0.0298 608  -6.279  <.0001
## 
## P value adjustment: bonferroni method for 3 tests 
##                 contrast etasquared
## 1 first vs. second block 0.13347570
## 2   first vs. last block 0.16377845
## 3  second vs. last block 0.06090337

Follow-up tests show that participants made faster movements as the aligned trials proceeded. We then conduct the same test for mirror reversed trials.

mirrorMTMirOnlineANOVA()
## $ANOVA
##         Effect DFn  DFd          F             p p<.05         ges
## 2       target   1  608  42.569424  1.437780e-10     * 0.007118088
## 3        block   2 1216 566.623174 1.303314e-174     * 0.244077340
## 4 target:block   2 1216   4.482291  1.149493e-02     * 0.001462369
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.6023476 1.526258e-67     *
## 4 target:block 0.5480019 5.252358e-80     *
## 
## $`Sphericity Corrections`
##         Effect       GGe         p[GG] p[GG]<.05       HFe         p[HF]
## 3        block 0.7154855 6.631104e-126         * 0.7167044 4.100992e-126
## 4 target:block 0.6887061  2.289592e-02         * 0.6897568  2.284276e-02
##   p[HF]<.05
## 3         *
## 4         *

We find a target x block interaction.

mirrorMTMirOnlineComparisonsEffSize()
##  contrast              estimate     SE  df t.ratio p.value
##  1st block: 30 vs. 60     1.026 0.2680 608   3.828  0.0004
##  2nd block: 30 vs. 60     0.709 0.1228 608   5.775  <.0001
##  last block: 30 vs. 60    0.284 0.0831 608   3.414  0.0021
## 
## P value adjustment: bonferroni method for 3 tests 
##                contrast etasquared
## 1  1st block: 30 vs. 60 0.02353132
## 2  2nd block: 30 vs. 60 0.05200904
## 3 last block: 30 vs. 60 0.01880539

Follow-up tests show that movements were overall faster for the 30 degree location. Finally, we test washout trials.

RAEMTMirOnlineANOVA()
## Movement time during washout trials across targets and blocks: 
## $ANOVA
##         Effect DFn  DFd         F           p p<.05          ges
## 2        block   2 1216 5.8648863 0.002918224     * 0.0031880907
## 3       target   1  608 0.5894218 0.442940831       0.0001603162
## 4 block:target   2 1216 1.0253791 0.358970357       0.0005585437
## 
## $`Mauchly's Test for Sphericity`
##         Effect           W p p<.05
## 2        block 0.008064554 0     *
## 4 block:target 0.004535137 0     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe      p[HF] p[HF]<.05
## 2        block 0.5020243 0.0156306         * 0.5020343 0.01563008         *
## 4 block:target 0.5011364 0.3118254           0.5011420 0.31182630

We find a main effect of block.

RAEMTMirOnlineComparisonsEffSizeBlockEffect()
##  contrast               estimate     SE  df t.ratio p.value
##  first vs. second block  -0.4657 0.2013 608  -2.314  0.0630
##  first vs. last block    -0.5085 0.2019 608  -2.519  0.0361
##  second vs. last block   -0.0428 0.0105 608  -4.083  0.0002
## 
## P value adjustment: bonferroni method for 3 tests 
##                 contrast  etasquared
## 1 first vs. second block 0.008728089
## 2   first vs. last block 0.010326628
## 3  second vs. last block 0.026681401

We find faster movements during the last block compared to the first two blocks of washout trials.

Path Length

Similar to the movement time analysis, path length is another variable that can support our findings regarding exploratory behavior. Path length is essentially the path/trajectory that participants take from one point to another. For example, shorter path lengths suggest straight and smooth movements to the target. Note, however, that a participant may show longer MTs while showing short path lengths. This would just mean that they stopped in their movement.

plotGroupRDPL(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -138.19  -54.13  -40.89   78.39  138.47 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   60.963      3.980  15.319   <2e-16 ***
## path           1.582      1.184   1.337    0.182    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 67.05 on 310 degrees of freedom
##   (297 observations deleted due to missingness)
## Multiple R-squared:  0.00573,    Adjusted R-squared:  0.002522 
## F-statistic: 1.786 on 1 and 310 DF,  p-value: 0.1823
plotGroupRDPLOutlierRemoved(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -166.02  -45.10  -32.81   63.46  145.00 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   50.505      4.256  11.866  < 2e-16 ***
## path          17.236      3.077   5.601 4.77e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 64.12 on 304 degrees of freedom
##   (303 observations deleted due to missingness)
## Multiple R-squared:  0.09354,    Adjusted R-squared:  0.09056 
## F-statistic: 31.37 on 1 and 304 DF,  p-value: 4.774e-08

For the 30 degree target, we do not find a significant relationship between step 1 path length and the corresponding reach deviation for that trial. However, this changes to a significant relationship after removing outliers (6 participants) from this analysis.

plotGroupRDPL(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -131.81  -42.84  -30.05   38.70  134.93 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  51.2492     3.4755  14.746   <2e-16 ***
## path          1.1840     0.7457   1.588    0.113    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 58.51 on 295 degrees of freedom
##   (312 observations deleted due to missingness)
## Multiple R-squared:  0.008473,   Adjusted R-squared:  0.005112 
## F-statistic: 2.521 on 1 and 295 DF,  p-value: 0.1134
plotGroupRDPLOutlierRemoved(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -114.16  -34.59  -23.31   21.27  146.53 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   39.277      3.476  11.301  < 2e-16 ***
## path          22.190      2.736   8.111 1.43e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53 on 290 degrees of freedom
##   (317 observations deleted due to missingness)
## Multiple R-squared:  0.1849, Adjusted R-squared:  0.1821 
## F-statistic: 65.78 on 1 and 290 DF,  p-value: 1.435e-14

We find the same pattern of results for the 60 degree target. The relationship is only significant after removing outliers (5 participants).

When we separate participants into the two subgroups of explorers and non-explorers, the relationship is not statistically significant. However, we find a clear distinction in the plots below that explorers have longer step 1 path lengths, and have more reach deviations near full compensation.

plotMoveThroughGroupRDPL(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.705 -15.679 -10.397  -1.773 165.896 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)   22.116      7.006   3.157  0.00195 **
## path         -66.361    271.183  -0.245  0.80703   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 36.05 on 143 degrees of freedom
## Multiple R-squared:  0.0004186,  Adjusted R-squared:  -0.006572 
## F-statistic: 0.05988 on 1 and 143 DF,  p-value: 0.807

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -101.69  -74.86   27.00   59.07  103.96 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  102.916      5.614  18.333   <2e-16 ***
## path          -2.086      1.221  -1.707   0.0896 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.3 on 165 degrees of freedom
## Multiple R-squared:  0.01736,    Adjusted R-squared:  0.01141 
## F-statistic: 2.915 on 1 and 165 DF,  p-value: 0.08963
plotMoveThroughGroupRDPL(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -22.511 -16.235 -10.517   0.114 164.174 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   23.125      6.026   3.837  0.00018 ***
## path         -61.890    221.897  -0.279  0.78068    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32.94 on 156 degrees of freedom
## Multiple R-squared:  0.0004984,  Adjusted R-squared:  -0.005909 
## F-statistic: 0.07779 on 1 and 156 DF,  p-value: 0.7807

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -87.512 -61.298  -2.559  57.083  93.984 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  88.4748     5.5313  15.995   <2e-16 ***
## path         -0.4836     0.8120  -0.596    0.552    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 62.03 on 137 degrees of freedom
## Multiple R-squared:  0.002582,   Adjusted R-squared:  -0.004698 
## F-statistic: 0.3547 on 1 and 137 DF,  p-value: 0.5525

After outlier removal, the relationship for participants with move throughs in the 60 degree location now becomes significant.

plotMoveThroughGroupRDPLOutlierRemoved(group='30', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.705 -15.679 -10.397  -1.773 165.896 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)   22.116      7.006   3.157  0.00195 **
## path         -66.361    271.183  -0.245  0.80703   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 36.05 on 143 degrees of freedom
## Multiple R-squared:  0.0004186,  Adjusted R-squared:  -0.006572 
## F-statistic: 0.05988 on 1 and 143 DF,  p-value: 0.807

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -101.12  -78.58   30.93   58.73   97.98 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  102.175      7.248  14.096   <2e-16 ***
## path          -1.275      3.802  -0.336    0.738    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.6 on 159 degrees of freedom
##   (6 observations deleted due to missingness)
## Multiple R-squared:  0.0007074,  Adjusted R-squared:  -0.005577 
## F-statistic: 0.1126 on 1 and 159 DF,  p-value: 0.7377
plotMoveThroughGroupRDPLOutlierRemoved(group='60', set='fa2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -22.511 -16.235 -10.517   0.114 164.174 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   23.125      6.026   3.837  0.00018 ***
## path         -61.890    221.897  -0.279  0.78068    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32.94 on 156 degrees of freedom
## Multiple R-squared:  0.0004984,  Adjusted R-squared:  -0.005909 
## F-statistic: 0.07779 on 1 and 156 DF,  p-value: 0.7807

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -98.561 -57.651  -9.003  53.970  98.649 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   76.194      6.915  11.019   <2e-16 ***
## path           9.530      3.688   2.584   0.0108 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 60.77 on 132 degrees of freedom
##   (5 observations deleted due to missingness)
## Multiple R-squared:  0.04816,    Adjusted R-squared:  0.04095 
## F-statistic: 6.678 on 1 and 132 DF,  p-value: 0.01085

In addition to these, we can also show path lengths during the reach to the target for all trials in the experiment. Note that path length is scaled to participants’ monitor dimensions. That is, the start position to target distance is 40% (or 0.4) of the participant’s monitor height. Here, baseline reaches are around this length.

plotAllTasksPathLength(set='fa2020')

We find that path lengths are initially longer during the first few trials of the mirror reversal, but eventually get close to baseline levels.

We conduct the same statistical tests as we did for completion time, but use path length as the dependent variable. We start with aligned trials.

alignedPLMirOnlineANOVA()
## Path length during aligned trials across targets and blocks:
## $ANOVA
##         Effect DFn  DFd         F         p p<.05          ges
## 2        block   2 1216 0.9618596 0.3824721       5.488402e-04
## 3       target   1  608 0.3431926 0.5582095       6.567097e-05
## 4 block:target   2 1216 0.4510173 0.6370864       1.298282e-04
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 2        block 0.9296943 2.461735e-10     *
## 4 block:target 0.9682348 5.560742e-05     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 2        block 0.9343125 0.3775296           0.9370845 0.3777473          
## 4 block:target 0.9692127 0.6309300           0.9722618 0.6315484

We do not find any effects. We then look into mirror reversed trials.

mirrorPLMirOnlineANOVA()
## $ANOVA
##         Effect DFn  DFd          F            p p<.05          ges
## 2       target   1  608  22.682604 2.391741e-06     * 0.0027067381
## 3        block   2 1216 134.938056 1.186294e-53     * 0.0641755118
## 4 target:block   2 1216   1.532224 2.164714e-01       0.0003780676
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W             p p<.05
## 3        block 0.8602690  1.450436e-20     *
## 4 target:block 0.3690026 3.921249e-132     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.8774000 1.916183e-47         * 0.8797374 1.458980e-47
## 4 target:block 0.6131218 2.190152e-01           0.6137232 2.190232e-01
##   p[HF]<.05
## 3         *
## 4

We find main effects of target and block. For target, we observe in the plot that the 60 degree location had longer path lengths.

mirrorPLMirOnlineComparisonsEffSizeBlockEffect()
##  contrast               estimate     SE  df t.ratio p.value
##  first vs. second block   -0.843 0.0987 608  -8.541  <.0001
##  first vs. last block     -1.407 0.0872 608 -16.137  <.0001
##  second vs. last block    -0.564 0.0703 608  -8.017  <.0001
## 
## P value adjustment: bonferroni method for 3 tests 
##                 contrast etasquared
## 1 first vs. second block 0.10711735
## 2   first vs. last block 0.29985683
## 3  second vs. last block 0.09560882

Follow-up tests on the block effect show that path lengths keep getting shorter as the trials progressed. We then test washout trials.

RAEPLMirOnlineANOVA()
## Path length during washout trials across targets and blocks: 
## $ANOVA
##         Effect DFn  DFd         F            p p<.05          ges
## 2        block   2 1216 17.643863 2.795410e-08     * 0.0106052745
## 3       target   1  608  1.481234 2.240538e-01       0.0002137069
## 4 block:target   2 1216  0.865308 4.211809e-01       0.0002694620
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 2        block 0.8920527 8.780440e-16     *
## 4 block:target 0.8635385 4.586722e-20     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 2        block 0.9025700 1.086329e-07         * 0.9050970 1.048714e-07
## 4 block:target 0.8799242 4.090312e-01           0.8822805 4.092875e-01
##   p[HF]<.05
## 2         *
## 4

We find a main effect of block.

RAEPLMirOnlineComparisonsEffSizeBlockEffect()
##  contrast               estimate      SE  df t.ratio p.value
##  first vs. second block  -0.0489 0.01127 608  -4.339  0.0001
##  first vs. last block    -0.0535 0.01007 608  -5.311  <.0001
##  second vs. last block   -0.0046 0.00839 608  -0.548  1.0000
## 
## P value adjustment: bonferroni method for 3 tests 
##                 contrast   etasquared
## 1 first vs. second block 0.0300296832
## 2   first vs. last block 0.0443319277
## 3  second vs. last block 0.0004931016

Follow-up tests show that the first block differs from the second and last blocks, suggesting that path lengths were longer for the first block.

Instructed group

The following analyses just repeat the ones in the previous section for the instructed group.

30 degree Target
30 degree Target
60 degree Target
60 degree Target

Trial 1 (only for 30 degree location) shows distributed responses. We also see an almost immediate general shift of responses towards the correct reach direction (i.e. highest peak of distribution moves towards perfect compensation location for each target).

Move throughs or exploration

Below are the frequencies of participants with move through for each target location, across the 90 mirror reversed trials.

plotParticipantMoveThrough(set='su2020')

We see that move throughs are only persistent on trial 1 for the 30 degree target, given that it is always the first trial for this group. Therefore, we can plot the circular density distribution for trial 1 of this target location, while separating participants into subgroups of those with or without move throughs (or exploration).

plotTrialOneCheckGroupCircFreq(group = '30', set='su2020')

Participants that explored the workspace have distributed reach deviations across the workspace, while the non-explorers are more likely to reach directly towards the target. Thus, we can plot the learning curves for each target location, while separating participants into these two subgroups.

plotMoveThroughAllTasksSU()

The plots show a distinction of the reach deviations between the explorers and non-explorers for trial 1. The mean reach deviation for explorers is at perfect compensation, but has a very wide confidence interval. This is likely due to their distributed reach deviations across the workspace. The mean reach deviation for non-explorers are around the expected zero degree mark, but quickly increase by the next trial.

Movement Time

We test for a relationship between step 1 movement time, and the corresponding angular reach deviation that was produced for that trial.

plotGroupRDMT(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -128.87  -46.59  -35.43   64.48  130.89 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   49.872      7.794   6.399  5.1e-09 ***
## time           8.537      2.668   3.200  0.00184 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 65.65 on 100 degrees of freedom
## Multiple R-squared:  0.09289,    Adjusted R-squared:  0.08382 
## F-statistic: 10.24 on 1 and 100 DF,  p-value: 0.001842
plotGroupRDMTOutlierRemoved(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -143.04  -38.27  -29.10   50.70  140.16 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   40.499      7.866   5.149 1.37e-06 ***
## time          17.823      3.662   4.867 4.39e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 62.11 on 97 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.1963, Adjusted R-squared:  0.188 
## F-statistic: 23.69 on 1 and 97 DF,  p-value: 4.39e-06

For the 30 degree target, we find a significant relationship between step 1 movement time and the corresponding reach deviation for that trial. The relationship holds after removing outliers (3 participants) from this analysis. Note that for this group, it would be unnecessary to analyze the 60 degree target, as it always occurs as the second trial, such that participants have had enough opportunities to explore the workspace by then.

When we separate participants into the two subgroups of explorers and non-explorers, the relationship is not statistically significant. However, we find a clear distinction in the plots below that explorers have longer step 1 movement times, and have more reach deviations near full compensation.

plotMoveThroughGroupRDMT(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -38.049 -29.134 -20.940  -6.913 149.682 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)    47.91      17.59   2.723  0.00893 **
## time         -893.29     858.18  -1.041  0.30302   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53.03 on 49 degrees of freedom
## Multiple R-squared:  0.02163,    Adjusted R-squared:  0.001667 
## F-statistic: 1.083 on 1 and 49 DF,  p-value: 0.303

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -96.61 -74.37  13.70  63.74 102.02 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  96.7063    15.1288   6.392  5.8e-08 ***
## time         -0.2331     3.6615  -0.064    0.949    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 68.17 on 49 degrees of freedom
## Multiple R-squared:  8.271e-05,  Adjusted R-squared:  -0.02032 
## F-statistic: 0.004053 on 1 and 49 DF,  p-value: 0.9495

We find the same results after outlier removal.

plotMoveThroughGroupRDMTOutlierRemoved(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -38.049 -29.134 -20.940  -6.913 149.682 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)    47.91      17.59   2.723  0.00893 **
## time         -893.29     858.18  -1.041  0.30302   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53.03 on 49 degrees of freedom
## Multiple R-squared:  0.02163,    Adjusted R-squared:  0.001667 
## F-statistic: 1.083 on 1 and 49 DF,  p-value: 0.303

## 
## Call:
## lm(formula = circrd ~ time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -112.19  -68.44   19.47   63.34   84.34 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   81.094     19.561   4.146 0.000144 ***
## time           6.434      6.341   1.015 0.315614    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 67.41 on 46 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.02189,    Adjusted R-squared:  0.0006245 
## F-statistic: 1.029 on 1 and 46 DF,  p-value: 0.3156

In addition to these, we can also show completion times during the reach to the target for all trials in the experiment.

plotAllTasksMT(set='su2020')

We find that movement times are initially longer during the first few trials of the mirror reversal, but eventually get close (but not similar) to baseline levels.

Path Length

We test for a relationship between step 1 path length, and the corresponding angular reach deviation that was produced for that trial.

plotGroupRDPL(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -108.37  -53.45  -41.49   69.03  125.66 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   59.210      7.703   7.686 1.07e-11 ***
## path           8.147      6.748   1.207     0.23    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 68.43 on 100 degrees of freedom
## Multiple R-squared:  0.01437,    Adjusted R-squared:  0.004511 
## F-statistic: 1.458 on 1 and 100 DF,  p-value: 0.2301
plotGroupRDPLOutlierRemoved(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -93.83 -45.73 -35.14  67.58 132.02 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   48.465      7.985   6.069 2.55e-08 ***
## path          40.342     11.464   3.519 0.000664 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 65.37 on 96 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.1143, Adjusted R-squared:  0.105 
## F-statistic: 12.38 on 1 and 96 DF,  p-value: 0.0006638

For the 30 degree target, we do not find a significant relationship between step 1 path length and the corresponding reach deviation for that trial. However, the relationship becomes significant after outlier removal (4 participants).

When we separate participants into the two subgroups of explorers and non-explorers, we do not find a significant relationship for either.

plotMoveThroughGroupRDPL(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -31.697 -27.272 -22.224  -6.999 150.399 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)    29.93      15.42   1.941    0.058 .
## path           57.34     558.76   0.103    0.919  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53.6 on 49 degrees of freedom
## Multiple R-squared:  0.0002149,  Adjusted R-squared:  -0.02019 
## F-statistic: 0.01053 on 1 and 49 DF,  p-value: 0.9187

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -107.175  -52.777    5.461   59.614  107.017 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  108.268     12.390   8.738 1.45e-11 ***
## path         -11.591      7.676  -1.510    0.137    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.64 on 49 degrees of freedom
## Multiple R-squared:  0.04447,    Adjusted R-squared:  0.02497 
## F-statistic:  2.28 on 1 and 49 DF,  p-value: 0.1374

We find similar results after outlier removal.

plotMoveThroughGroupRDPLOutlierRemoved(group='30', set='su2020')

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -31.697 -27.272 -22.224  -6.999 150.399 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)    29.93      15.42   1.941    0.058 .
## path           57.34     558.76   0.103    0.919  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53.6 on 49 degrees of freedom
## Multiple R-squared:  0.0002149,  Adjusted R-squared:  -0.02019 
## F-statistic: 0.01053 on 1 and 49 DF,  p-value: 0.9187

## 
## Call:
## lm(formula = circrd ~ path)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -99.18 -73.88  12.26  61.70  96.44 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   99.005     16.001   6.187 1.65e-07 ***
## path           1.288     15.915   0.081    0.936    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 67.79 on 45 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.0001454,  Adjusted R-squared:  -0.02207 
## F-statistic: 0.006545 on 1 and 45 DF,  p-value: 0.9359

In addition to these, we can also show path lengths during the reach to the target for all trials in the experiment.

plotAllTasksPathLength(set='su2020')

We find that path lengths are initially longer during the first few trials of the mirror reversal, but eventually get close to baseline levels.

Effects of device used (Mouse vs. Trackpad)

We compare learning curves, movement times, and path length for each target location for those that used either a mouse or a trackpad to accomplish the task.

Non-instructed group

Sample size: Mouse (N = 183), Trackpad (N = 426)

Learning rates

plotDeviceAllTasks()

For each of the trial types, we conduct a 3x2 (block x device) mixed design ANOVA, with block as a within-subjects factor and device as the between-subjects factor.

deviceAlignedMirOnlineANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd         F          p p<.05          ges
## 2       device   1  607 0.1777946 0.67342468       1.032471e-04
## 3        block   2 1214 0.0317845 0.96871612       3.390263e-05
## 4 device:block   2 1214 2.7124588 0.06677568       2.884968e-03
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.9406769 8.963328e-09     *
## 4 device:block 0.9406769 8.963328e-09     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe      p[HF] p[HF]<.05
## 3        block 0.9439991 0.9631903           0.9468519 0.96349505          
## 4 device:block 0.9439991 0.0700288           0.9468519 0.06985963
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd          F          p p<.05          ges
## 2       device   1  607 0.05296509 0.81805940       3.144184e-05
## 3        block   2 1214 0.97831215 0.37624129       1.029878e-03
## 4 device:block   2 1214 4.24930727 0.01448701     * 4.457934e-03
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.9491346 1.349981e-07     *
## 4 device:block 0.9491346 1.349981e-07     *
## 
## $`Sphericity Corrections`
##         Effect       GGe      p[GG] p[GG]<.05       HFe      p[HF] p[HF]<.05
## 3        block 0.9515967 0.37281891           0.9545097 0.37303150          
## 4 device:block 0.9515967 0.01597662         * 0.9545097 0.01588275         *

We find a device x block interaction for the 60 degree location.

deviceAligned60MirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: device
##  contrast                       estimate   SE  df t.ratio p.value
##  1st block: Mouse vs. Trackpad      6.72 3.01 607   2.234  0.0775
##  2nd block: Mouse vs. Trackpad     -6.13 3.00 607  -2.045  0.1238
##  last block: Mouse vs. Trackpad    -1.94 3.68 607  -0.526  1.0000
## 
## P value adjustment: bonferroni method for 3 tests 
##                         contrast   etasquared
## 1  1st block: Mouse vs. Trackpad 0.0081552626
## 2  2nd block: Mouse vs. Trackpad 0.0068442314
## 3 last block: Mouse vs. Trackpad 0.0004550694

However, follow-up tests do not reveal any significant differences between devices across blocks. We conduct the same analyses for mirror trials.

deviceMirrorMirOnlineANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during mirrored trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd         F            p p<.05          ges
## 2       device   1  607  3.110597 7.828748e-02       0.0020640058
## 3        block   2 1214 13.221060 2.088357e-06     * 0.0128235603
## 4 device:block   2 1214  0.761064 4.673919e-01       0.0007472125
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W           p p<.05
## 3        block 0.8726898 1.20377e-18     *
## 4 device:block 0.8726898 1.20377e-18     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05      HFe        p[HF] p[HF]<.05
## 3        block 0.8870673 6.376175e-06         * 0.889481 6.225658e-06         *
## 4 device:block 0.8870673 4.530083e-01           0.889481 4.533350e-01
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during mirrored trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd           F           p p<.05          ges
## 2       device   1  607 0.001249886 0.971809308       8.244190e-07
## 3        block   2 1214 5.922281861 0.002757095     * 5.816301e-03
## 4 device:block   2 1214 1.389822520 0.249515601       1.371054e-03
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.8585274 8.462601e-21     *
## 4 device:block 0.8585274 8.462601e-21     *
## 
## $`Sphericity Corrections`
##         Effect       GGe       p[GG] p[GG]<.05       HFe       p[HF] p[HF]<.05
## 3        block 0.8760613 0.004205513         * 0.8783926 0.004172181         *
## 4 device:block 0.8760613 0.249380660           0.8783926 0.249392455

We find a block effect for both targets, which is already seen with how compensation goes down as trials progress. Finally, we look into washout trials.

deviceRAEMirOnlineANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd         F         p p<.05          ges
## 2       device   1  607 3.2536515 0.0717602       0.0022755722
## 3        block   2 1214 0.2243414 0.7990754       0.0002122854
## 4 device:block   2 1214 0.5145668 0.5978898       0.0004867804
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W         p p<.05
## 3        block 0.9981945 0.5783673      
## 4 device:block 0.9981945 0.5783673      
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05      HFe     p[HF] p[HF]<.05
## 3        block 0.9981978 0.7986833           1.001489 0.7990754          
## 4 device:block 0.9981978 0.5975605           1.001489 0.5978898
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd         F          p p<.05          ges
## 2       device   1  607 5.6632338 0.01763207     * 0.0032998035
## 3        block   2 1214 1.1609569 0.31353381       0.0012323979
## 4 device:block   2 1214 0.1861554 0.83016826       0.0001978154
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W          p p<.05
## 3        block 0.9881478 0.02697964     *
## 4 device:block 0.9881478 0.02697964     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 3        block 0.9882866 0.3131494           0.9914959 0.3132557          
## 4 device:block 0.9882866 0.8276788           0.9914959 0.8283652

We find a device effect for the 60 degree location. We see in the plot that trackpad users have lower angular reach deviations during washout.

Movement time

plotDeviceMT()

We then compare devices across the trial types.

deviceAlignedMirOnlineMTANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during aligned trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd          F            p p<.05          ges
## 2       device   1  607  0.7002255 4.030372e-01       0.0007581398
## 3        block   2 1214 80.4840787 1.503523e-33     * 0.0434158504
## 4 device:block   2 1214  0.5368697 5.847140e-01       0.0003026583
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.5382669 3.106744e-82     *
## 4 device:block 0.5382669 3.106744e-82     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.6841194 7.726673e-24         * 0.6851434 7.185867e-24
## 4 device:block 0.6841194 5.180323e-01           0.6851434 5.182925e-01
##   p[HF]<.05
## 3         *
## 4
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during aligned trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd         F            p p<.05         ges
## 2       device   1  607  8.377386 3.935668e-03     * 0.007800877
## 3        block   2 1214 41.723322 2.988216e-18     * 0.028729634
## 4 device:block   2 1214  3.525818 2.972944e-02     * 0.002493370
## 
## $`Mauchly's Test for Sphericity`
##         Effect        W            p p<.05
## 3        block 0.776465 5.092491e-34     *
## 4 device:block 0.776465 5.092491e-34     *
## 
## $`Sphericity Corrections`
##         Effect      GGe        p[GG] p[GG]<.05      HFe        p[HF] p[HF]<.05
## 3        block 0.817304 2.193197e-15         * 0.819209 2.047234e-15         *
## 4 device:block 0.817304 3.877121e-02         * 0.819209 3.866420e-02         *

We find a block effect for the 30 degree location, which is evident in the plot. Completion times become faster as trials progressed in the aligned trials. We also find a device x block interaction for the 60 degree location.

deviceAlignedMTMirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: device
##  contrast                       estimate     SE  df t.ratio p.value
##  Block 1: Mouse vs. Trackpad       0.435 0.1455 607   2.988  0.0088
##  Block 2: Mouse vs. Trackpad       0.139 0.0941 607   1.474  0.4232
##  Last block: Mouse vs. Trackpad    0.152 0.0823 607   1.851  0.1940
## 
## P value adjustment: bonferroni method for 3 tests 
##                         contrast  etasquared
## 1    Block 1: Mouse vs. Trackpad 0.014499954
## 2    Block 2: Mouse vs. Trackpad 0.003565603
## 3 Last block: Mouse vs. Trackpad 0.005612989

Mouse users move faster during the first block of trials. We then look into the mirror trials.

deviceMirrorMirOnlineMTANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during mirror trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd           F            p p<.05          ges
## 2       device   1  607   5.4443873 1.995695e-02     * 0.0037599362
## 3        block   2 1214 246.6727601 1.263692e-90     * 0.1905344996
## 4 device:block   2 1214   0.4272322 6.524101e-01       0.0004075126
## 
## $`Mauchly's Test for Sphericity`
##         Effect        W            p p<.05
## 3        block 0.548017 7.154823e-80     *
## 4 device:block 0.548017 7.154823e-80     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.6887133 2.076991e-63         * 0.6897657 1.680296e-63
## 4 device:block 0.6887133 5.772622e-01           0.6897657 5.775685e-01
##   p[HF]<.05
## 3         *
## 4
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during mirror trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd          F             p p<.05         ges
## 2       device   1  607  16.541538  5.387160e-05     * 0.012970082
## 3        block   2 1214 328.816433 7.634852e-115     * 0.219053425
## 4 device:block   2 1214   6.277875  1.938904e-03     * 0.005326823
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W           p p<.05
## 3        block 0.6546593 1.78915e-56     *
## 4 device:block 0.6546593 1.78915e-56     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.7433061 3.305358e-86         * 0.7447071 2.306161e-86
## 4 device:block 0.7433061 5.033864e-03         * 0.7447071 5.007624e-03
##   p[HF]<.05
## 3         *
## 4         *

We find main effects of block and device for the 30 degree target. We see from the plot that completion times become faster as trials progress, and that mouse users move faster. We also find a block x device interaction for the 60 degree target.

deviceMirrorMTMirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: device
##  contrast                       estimate    SE  df t.ratio p.value
##  Block 1: Mouse vs. Trackpad       1.832 0.522 607   3.513  0.0014
##  Block 2: Mouse vs. Trackpad       0.824 0.281 607   2.931  0.0105
##  Last block: Mouse vs. Trackpad    0.312 0.131 607   2.387  0.0518
## 
## P value adjustment: bonferroni method for 3 tests 
##                         contrast  etasquared
## 1    Block 1: Mouse vs. Trackpad 0.019923691
## 2    Block 2: Mouse vs. Trackpad 0.013955809
## 3 Last block: Mouse vs. Trackpad 0.009302725

Follow-up tests show that mouse users move faster to the 60 degree target in the first and second blocks of trials. Finally, we test washout trials.

deviceRAEMirOnlineMTANOVA ()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during washout trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd         F         p p<.05          ges
## 2       device   1  607 0.9581271 0.3280492       0.0005283976
## 3        block   2 1214 1.6785370 0.1870797       0.0018357378
## 4 device:block   2 1214 0.4919272 0.6115687       0.0005386969
## 
## $`Mauchly's Test for Sphericity`
##         Effect           W p p<.05
## 3        block 0.002768478 0     *
## 4 device:block 0.002768478 0     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 3        block 0.5006931 0.1956211           0.5006965 0.1956211          
## 4 device:block 0.5006931 0.4835884           0.5006965 0.4835896
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during washout trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd          F            p p<.05         ges
## 2       device   1  607  15.234761 1.055718e-04     * 0.015953791
## 3        block   2 1214 113.203224 8.323638e-46     * 0.061938595
## 4 device:block   2 1214   3.672017 2.570796e-02     * 0.002137208
## 
## $`Mauchly's Test for Sphericity`
##         Effect        W           p p<.05
## 3        block 0.754367 8.08261e-38     *
## 4 device:block 0.754367 8.08261e-38     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.8028047 2.357185e-37         * 0.8046081 1.972709e-37
## 4 device:block 0.8028047 3.501461e-02         * 0.8046081 3.491596e-02
##   p[HF]<.05
## 3         *
## 4         *

We find a block x device interaction in the 60 degree target.

deviceRAEMTMirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: device
##  contrast                       estimate     SE  df t.ratio p.value
##  Block 1: Mouse vs. Trackpad      0.1816 0.0516 607   3.517  0.0014
##  Block 2: Mouse vs. Trackpad      0.1235 0.0356 607   3.473  0.0017
##  Last block: Mouse vs. Trackpad   0.0702 0.0290 607   2.422  0.0472
## 
## P value adjustment: bonferroni method for 3 tests 
##                         contrast etasquared
## 1    Block 1: Mouse vs. Trackpad 0.01997205
## 2    Block 2: Mouse vs. Trackpad 0.01947874
## 3 Last block: Mouse vs. Trackpad 0.00957019

Mouse users move faster in the first and second blocks of washout trials.

Path length

plotDevicePL()

We repeat the same analysis for path lengths.

deviceAlignedMirOnlinePLANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during aligned trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd         F          p p<.05          ges
## 2       device   1  607 5.2649000 0.02210013     * 0.0047183252
## 3        block   2 1214 0.6129601 0.54191246       0.0004576794
## 4 device:block   2 1214 2.9373771 0.05338141       0.0021894540
## 
## $`Mauchly's Test for Sphericity`
##         Effect        W            p p<.05
## 3        block 0.934744 1.317921e-09     *
## 4 device:block 0.934744 1.317921e-09     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe      p[HF] p[HF]<.05
## 3        block 0.9387415 0.5319378           0.9415529 0.53240904          
## 4 device:block 0.9387415 0.0567959           0.9415529 0.05663472
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during aligned trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd            F         p p<.05          ges
## 2       device   1  607 0.0478700686 0.8268854       3.343091e-05
## 3        block   2 1214 0.0008602301 0.9991401       8.164053e-07
## 4 device:block   2 1214 1.5372183346 0.2153964       1.456780e-03
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.9358933 1.912396e-09     *
## 4 device:block 0.9358933 1.912396e-09     *
## 
## $`Sphericity Corrections`
##         Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 3        block 0.9397554 0.9987286           0.9425747 0.9987517          
## 4 device:block 0.9397554 0.2164910           0.9425747 0.2164432
deviceMirrorMirOnlinePLANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during mirror trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd         F            p p<.05          ges
## 2       device   1  607  6.129005 1.356991e-02     * 0.0045186994
## 3        block   2 1214 62.786200 1.127885e-26     * 0.0538695745
## 4 device:block   2 1214  1.007412 3.654679e-01       0.0009127227
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.6062061 1.361309e-66     *
## 4 device:block 0.6062061 1.361309e-66     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.7174662 6.626143e-20         * 0.7186997 6.189761e-20
## 4 device:block 0.7174662 3.433253e-01           0.7186997 3.434475e-01
##   p[HF]<.05
## 3         *
## 4
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during mirror trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd          F            p p<.05          ges
## 2       device   1  607  1.9723370 1.607115e-01       0.0019983563
## 3        block   2 1214 95.5295031 2.952182e-39     * 0.0569562535
## 4 device:block   2 1214  0.8986816 4.073767e-01       0.0005678468
## 
## $`Mauchly's Test for Sphericity`
##         Effect        W            p p<.05
## 3        block 0.856551 4.209488e-21     *
## 4 device:block 0.856551 4.209488e-21     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.8745471 1.077815e-34         * 0.8768672 8.874541e-35
## 4 device:block 0.8745471 3.956630e-01           0.8768672 3.958974e-01
##   p[HF]<.05
## 3         *
## 4
deviceRAEMirOnlinePLANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during washout trials across device and blocks, 30 degree target: 
## $ANOVA
##         Effect DFn  DFd          F            p p<.05          ges
## 2       device   1  607  2.3665002 1.244858e-01       0.0017426314
## 3        block   2 1214 17.4343172 3.428235e-08     * 0.0156138401
## 4 device:block   2 1214  0.2260307 7.977272e-01       0.0002055973
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.6624723 6.513578e-55     *
## 4 device:block 0.6624723 6.513578e-55     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.7476481 1.104870e-06         * 0.7490776 1.083285e-06
## 4 device:block 0.7476481 7.316897e-01           0.7490776 7.321387e-01
##   p[HF]<.05
## 3         *
## 4
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during washout trials across device and blocks, 60 degree target: 
## $ANOVA
##         Effect DFn  DFd        F            p p<.05         ges
## 2       device   1  607 5.445051 1.994943e-02     * 0.003888126
## 3        block   2 1214 9.624525 7.127112e-05     * 0.008877010
## 4 device:block   2 1214 2.561038 7.764170e-02       0.002377618
## 
## $`Mauchly's Test for Sphericity`
##         Effect         W            p p<.05
## 3        block 0.9164173 3.267877e-12     *
## 4 device:block 0.9164173 3.267877e-12     *
## 
## $`Sphericity Corrections`
##         Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF]
## 3        block 0.9228645 0.0001189013         * 0.9255518 0.0001167978
## 4 device:block 0.9228645 0.0822103249           0.9255518 0.0820473992
##   p[HF]<.05
## 3         *
## 4

We find a main effect of device in aligned and mirror trials for the 30 degree target. We also find a main effect of device in washout trials for the 60 degree target. In all cases, it is due to mouse users having longer path lengths than trackpad users, as seen with the plots.

Instructed group

Current sample size: Mouse (N = 26), Trackpad (N = 76).

Learning rates

plotDeviceAllTasksSU()

Movement time

plotDeviceMTSU()

Path length

plotDevicePLSU()

Effects of biological sex (Male vs. Female)

We compare learning curves, movement times, and path length for each target location for males and females that accomplished the task.

Non-instructed group

Sample size: Male (N = 162), Female (N = 447).

Learning rates

plotSexAllTasks()

We test for block and sex effects with a 3x2 mixed design ANOVA. We first look into aligned trials.

sexAlignedMirOnlineANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd         F         p p<.05          ges
## 2       sex   1  607 0.5356484 0.4645243       0.0003101766
## 3     block   2 1214 1.0165120 0.3621627       0.0010846595
## 4 sex:block   2 1214 0.6045573 0.5464806       0.0006453709
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.9423352 1.528405e-08     *
## 4 sex:block 0.9423352 1.528405e-08     *
## 
## $`Sphericity Corrections`
##      Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 3     block 0.9454791 0.3587407           0.9483436 0.3589276          
## 4 sex:block 0.9454791 0.5375125           0.9483436 0.5379958
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd        F          p p<.05          ges
## 2       sex   1  607 4.973660 0.02610096     * 0.0029257624
## 3     block   2 1214 0.723275 0.48536970       0.0007642563
## 4 sex:block   2 1214 3.261976 0.03864870     * 0.0034375803
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.9507245 2.241695e-07     *
## 4 sex:block 0.9507245 2.241695e-07     *
## 
## $`Sphericity Corrections`
##      Effect       GGe      p[GG] p[GG]<.05       HFe      p[HF] p[HF]<.05
## 3     block 0.9530386 0.47914143           0.9559631 0.47953815          
## 4 sex:block 0.9530386 0.04099224         * 0.9559631 0.04084227         *

We find a significant interaction for the 60 degree location.

sexAligned60MirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: sex
##  contrast                    estimate   SE  df t.ratio p.value
##  1st block: Male vs. Female      2.36 3.13 607   0.754  1.0000
##  2nd block: Male vs. Female     -8.50 3.10 607  -2.742  0.0189
##  last block: Male vs. Female    -7.32 3.81 607  -1.923  0.1649
## 
## P value adjustment: bonferroni method for 3 tests 
##                      contrast   etasquared
## 1  1st block: Male vs. Female 0.0009349147
## 2  2nd block: Male vs. Female 0.0122335544
## 3 last block: Male vs. Female 0.0060543746

Follow-up tests show that males have slightly higher angular deviations during the second block of aligned trials. We then look into mirror trials.

sexMirrorMirOnlineANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during mirrored trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd           F            p p<.05          ges
## 2       sex   1  607  0.68530575 4.080910e-01       4.562335e-04
## 3     block   2 1214 11.31715585 1.349828e-05     * 1.098471e-02
## 4 sex:block   2 1214  0.06987462 9.325145e-01       6.857062e-05
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.8734297 1.556236e-18     *
## 4 sex:block 0.8734297 1.556236e-18     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05      HFe        p[HF] p[HF]<.05
## 3     block 0.8876499 3.375345e-05         * 0.890068 3.309316e-05         *
## 4 sex:block 0.8876499 9.140234e-01           0.890068 9.144747e-01
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during mirrored trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd        F            p p<.05         ges
## 2       sex   1  607 2.853647 0.0916804216       0.001874006
## 3     block   2 1214 9.124992 0.0001165624     * 0.008948456
## 4 sex:block   2 1214 1.691112 0.1847482835       0.001670574
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.8572816 5.450406e-21     *
## 4 sex:block 0.8572816 5.450406e-21     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.8751063 0.0002526899         * 0.8774305 0.0002490707         *
## 4 sex:block 0.8751063 0.1886384269           0.8774305 0.1885709389

We do not find any sex-related effects. Finally, we test washout trials.

sexRAEMirOnlineANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd          F          p p<.05          ges
## 2       sex   1  607 0.01249086 0.91104867       8.801335e-06
## 3     block   2 1214 0.81154663 0.44441138       7.645558e-04
## 4 sex:block   2 1214 2.77555062 0.06271064       2.610009e-03
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W        p p<.05
## 3     block 0.9983369 0.603908      
## 4 sex:block 0.9983369 0.603908      
## 
## $`Sphericity Corrections`
##      Effect       GGe     p[GG] p[GG]<.05      HFe      p[HF] p[HF]<.05
## 3     block 0.9983397 0.4442332           1.001632 0.44441138          
## 4 sex:block 0.9983397 0.0628040           1.001632 0.06271064
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Angular reach deviations during aligned trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd         F         p p<.05          ges
## 2       sex   1  607 1.1283600 0.2885478       0.0006623195
## 3     block   2 1214 0.8083349 0.4458391       0.0008561676
## 4 sex:block   2 1214 0.1203037 0.8866617       0.0001275155
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W          p p<.05
## 3     block 0.9880707 0.02634918     *
## 4 sex:block 0.9880707 0.02634918     *
## 
## $`Sphericity Corrections`
##      Effect       GGe     p[GG] p[GG]<.05     HFe     p[HF] p[HF]<.05
## 3     block 0.9882113 0.4445579           0.99142 0.4449083          
## 4 sex:block 0.9882113 0.8844614           0.99142 0.8850650

We do not find any sex-related effects.

Movement time

plotSexMT()

We repeat the same analysis for completion times.

sexAlignedMirOnlineMTANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during aligned trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd           F            p p<.05          ges
## 2       sex   1  607  6.39677920 1.168483e-02     * 6.859500e-03
## 3     block   2 1214 69.24817287 3.319938e-29     * 3.782542e-02
## 4 sex:block   2 1214  0.01305689 9.870281e-01       7.412389e-06
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.5380916 2.814745e-82     *
## 4 sex:block 0.5380916 2.814745e-82     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.6840374 7.585336e-21         * 0.6850609 7.126319e-21         *
## 4 sex:block 0.6840374 9.563812e-01           0.6850609 9.565559e-01
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during aligned trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd        F            p p<.05          ges
## 2       sex   1  607 11.35162 8.015943e-04     * 0.0105036586
## 3     block   2 1214 40.27255 1.163090e-17     * 0.0278871051
## 4 sex:block   2 1214  1.36442 2.559203e-01       0.0009709658
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.7758857 4.061859e-34     *
## 4 sex:block 0.7758857 4.061859e-34     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.8169172 6.789727e-15         * 0.8188196 6.354497e-15         *
## 4 sex:block 0.8169172 2.546885e-01           0.8188196 2.547146e-01

We find main effects of sex for both targets. From the plots, we see that males move faster than females in the aligned trials.

sexMirrorMirOnlineMTANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during mirror trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd          F            p p<.05         ges
## 2       sex   1  607  14.627485 1.445316e-04     * 0.009992307
## 3     block   2 1214 208.757518 1.196622e-78     * 0.166577315
## 4 sex:block   2 1214   4.636712 9.861740e-03     * 0.004419721
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.5528955 1.049178e-78     *
## 4 sex:block 0.5528955 1.049178e-78     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.6910351 2.550187e-55         * 0.6921019 2.118282e-55         *
## 4 sex:block 0.6910351 2.031970e-02         * 0.6921019 2.026903e-02         *
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during mirror trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd          F             p p<.05        ges
## 2       sex   1  607  18.725221  1.765336e-05     * 0.01462983
## 3     block   2 1214 299.017436 2.592068e-106     * 0.20352191
## 4 sex:block   2 1214   6.177604  2.141218e-03     * 0.00525139
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.6552155 2.314223e-56     *
## 4 sex:block 0.6552155 2.314223e-56     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.7436136 6.846906e-80         * 0.7450166 4.907624e-80         *
## 4 sex:block 0.7436136 5.431990e-03         * 0.7450166 5.404288e-03         *

We find a sex x block interaction for both targets.

sexMirrorMTMirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: sex
##  contrast                    estimate    SE  df t.ratio p.value
##  Block 1: Male vs. Female       1.730 0.551 607   3.138  0.0053
##  Block 2: Male vs. Female       0.482 0.245 607   1.968  0.1485
##  Last block: Male vs. Female    0.466 0.162 607   2.869  0.0128
## 
## P value adjustment: bonferroni method for 3 tests 
##                      contrast  etasquared
## 1    Block 1: Male vs. Female 0.015966283
## 2    Block 2: Male vs. Female 0.006341297
## 3 Last block: Male vs. Female 0.013377787
sexMirrorMT60MirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: sex
##  contrast                    estimate    SE  df t.ratio p.value
##  Block 1: Male vs. Female       1.972 0.541 607   3.647  0.0009
##  Block 2: Male vs. Female       0.874 0.292 607   2.998  0.0085
##  Last block: Male vs. Female    0.424 0.135 607   3.142  0.0053
## 
## P value adjustment: bonferroni method for 3 tests 
##                      contrast etasquared
## 1    Block 1: Male vs. Female 0.02144476
## 2    Block 2: Male vs. Female 0.01458881
## 3 Last block: Male vs. Female 0.01600693

For the 30 degree target, we find that males move faster than females in the first and last blocks of mirror trials, while males are faster than females in all blocks for the 60 degree target.

sexRAEMirOnlineMTANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during washout trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd         F         p p<.05          ges
## 2       sex   1  607 1.1533722 0.2832711       0.0006358499
## 3     block   2 1214 1.4395013 0.2374503       0.0015749203
## 4 sex:block   2 1214 0.4643194 0.6286743       0.0005085422
## 
## $`Mauchly's Test for Sphericity`
##      Effect           W p p<.05
## 3     block 0.002769048 0     *
## 4 sex:block 0.002769048 0     *
## 
## $`Sphericity Corrections`
##      Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 3     block 0.5006932 0.2307259           0.5006967 0.2307260          
## 4 sex:block 0.5006932 0.4961320           0.5006967 0.4961333
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Movement time during washout trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd          F            p p<.05         ges
## 2       sex   1  607  17.434602 3.409304e-05     * 0.018193575
## 3     block   2 1214 103.237343 3.922917e-42     * 0.056915281
## 4 sex:block   2 1214   3.714193 2.465252e-02     * 0.002166526
## 
## $`Mauchly's Test for Sphericity`
##      Effect        W            p p<.05
## 3     block 0.753206 5.068434e-38     *
## 4 sex:block 0.753206 5.068434e-38     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.8020571 2.276549e-34         * 0.8038554 1.935149e-34         *
## 4 sex:block 0.8020571 3.383640e-02         * 0.8038554 3.373932e-02         *

We find an interaction for the 60 degree target in washout trials.

sexRAEMTMirOnlineComparisonsEffSize()
## Contrasts set to contr.sum for the following variables: sex
##  contrast                    estimate     SE  df t.ratio p.value
##  Block 1: Male vs. Female      0.1923 0.0535 607   3.592  0.0011
##  Block 2: Male vs. Female      0.1466 0.0368 607   3.985  0.0002
##  Last block: Male vs. Female   0.0769 0.0301 607   2.558  0.0323
## 
## P value adjustment: bonferroni method for 3 tests 
##                      contrast etasquared
## 1    Block 1: Male vs. Female 0.02081027
## 2    Block 2: Male vs. Female 0.02549861
## 3 Last block: Male vs. Female 0.01066334

Follow-up tests show that males are faster than females across all washout trial blocks for the 60 degree target.

Path length

plotSexPL()

We conduct the same tests across trial types for path lengths.

sexAlignedMirOnlinePLANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during aligned trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd         F         p p<.05          ges
## 2       sex   1  607 0.1902571 0.6628578       0.0001715763
## 3     block   2 1214 1.1250706 0.3249678       0.0008380134
## 4 sex:block   2 1214 0.1592596 0.8527927       0.0001187106
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.9328236 7.067442e-10     *
## 4 sex:block 0.9328236 7.067442e-10     *
## 
## $`Sphericity Corrections`
##      Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 3     block 0.9370522 0.3223602           0.9398503 0.3224832          
## 4 sex:block 0.9370522 0.8393591           0.9398503 0.8399861
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during aligned trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd          F         p p<.05          ges
## 2       sex   1  607 0.44837661 0.5033615       0.0003125412
## 3     block   2 1214 0.06855162 0.9337489       0.0000651320
## 4 sex:block   2 1214 0.24157126 0.7854306       0.0002294830
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.9371253 2.849027e-09     *
## 4 sex:block 0.9371253 2.849027e-09     *
## 
## $`Sphericity Corrections`
##      Effect       GGe     p[GG] p[GG]<.05       HFe     p[HF] p[HF]<.05
## 3     block 0.9408447 0.9247028           0.9436726 0.9251642          
## 4 sex:block 0.9408447 0.7719646           0.9436726 0.7726329
sexMirrorMirOnlinePLANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during mirror trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd          F            p p<.05          ges
## 2       sex   1  607  1.1526674 2.834181e-01       0.0008564357
## 3     block   2 1214 51.9505195 2.248449e-22     * 0.0448474709
## 4 sex:block   2 1214  0.5683705 5.665984e-01       0.0005134331
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.6097694 8.038617e-66     *
## 4 sex:block 0.6097694 8.038617e-66     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.7193051 7.770760e-17         * 0.7205504 7.342749e-17         *
## 4 sex:block 0.7193051 5.112273e-01           0.7205504 5.115157e-01
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during mirror trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd         F            p p<.05         ges
## 2       sex   1  607  3.045638 8.146031e-02       0.003081890
## 3     block   2 1214 79.245033 4.494201e-33     * 0.047724060
## 4 sex:block   2 1214  1.673263 1.880663e-01       0.001057079
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.8564281 4.030377e-21     *
## 4 sex:block 0.8564281 4.030377e-21     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.8744531 2.825264e-29         * 0.8767725 2.403609e-29         *
## 4 sex:block 0.8744531 1.917891e-01           0.8767725 1.917255e-01
sexRAEMirOnlinePLANOVA()
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during washout trials across sex and blocks, 30 degree target: 
## $ANOVA
##      Effect DFn  DFd          F            p p<.05          ges
## 2       sex   1  607  1.7419491 1.873896e-01       0.0012842116
## 3     block   2 1214 16.9270599 5.614432e-08     * 0.0151579948
## 4 sex:block   2 1214  0.3701128 6.907343e-01       0.0003364199
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W            p p<.05
## 3     block 0.6625303 6.688626e-55     *
## 4 sex:block 0.6625303 6.688626e-55     *
## 
## $`Sphericity Corrections`
##      Effect       GGe        p[GG] p[GG]<.05       HFe        p[HF] p[HF]<.05
## 3     block 0.7476805 1.607781e-06         * 0.7491102 1.577419e-06         *
## 4 sex:block 0.7476805 6.287818e-01           0.7491102 6.291903e-01
## Warning: Data is unbalanced (unequal N per group). Make sure you specified a
## well-considered value for the type argument to ezANOVA().
## Path length during washout trials across sex and blocks, 60 degree target: 
## $ANOVA
##      Effect DFn  DFd         F            p p<.05          ges
## 2       sex   1  607 0.8917601 0.3453765002       0.0006405518
## 3     block   2 1214 7.0704170 0.0008853253     * 0.0065233599
## 4 sex:block   2 1214 0.8854065 0.4128126877       0.0008215886
## 
## $`Mauchly's Test for Sphericity`
##      Effect         W           p p<.05
## 3     block 0.9171845 4.21094e-12     *
## 4 sex:block 0.9171845 4.21094e-12     *
## 
## $`Sphericity Corrections`
##      Effect       GGe       p[GG] p[GG]<.05       HFe       p[HF] p[HF]<.05
## 3     block 0.9235183 0.001238315         * 0.9262107 0.001223756         *
## 4 sex:block 0.9235183 0.405653614           0.9262107 0.405917253

We do not find any sex effects for both targets. Thus, although males generally move faster, path lengths do not differ between males and females.

Instructed group

Current sample size: Male (N = 26), Female (N = 76).

Learning rates

plotSexAllTasksSU()

Movement time

plotSexMTSU()

Path length

plotSexPLSU()

Session 2: Testing for generalization across the workspace and hands

We then conducted a pilot experiment that tests retention and generalization to different targets across the workspace and having participants switch to their untrained hand. The schedule for this experiment is similar to session 2 of the online study in the manuscript. The only difference is that here, we are only testing two targets. 364 participants from the Fall 2020 data set came back for this second session. However, the experiment had the same problem as our Summer 2020 data set, where target locations alternated on every other trial, instead of being random. Furthermore, this version of the experiment also allowed participants to move towards the start position with the mirror perturbation already turned on, thereby allowing them to explore the workspace.

plotDaysApart()

## mean: 15.4450549450549 days apart 
## sd: 15.5153794756189 days apart 
## median: 10 days apart

Majority of participants returned after about two weeks, but some participants returned even after a few months had passed.

plotRetention()

At the start of the second session, participants immediately experienced the mirror reversed perturbation and compensated accordingly for each target location. This suggests that participants retained learning from the first session, even if a few months have already passed.

plotLearningGenSignFlip()

Participants then proceeded to make reaches in quadrants 4 and 2 of a Cartesian coordinate system, with the targets in the corresponding locations of where they are in quadrant 1. Note that we calculated for a sign flip for these reaches for plotting, as angular reach deviations were negative in these quadrants. They then performed top-up trials to quadrant 1 targets, to avoid any decay of learning, before using their untrained hand to reach for targets in quadrant 1. We observe transfer of learning to the different target locations and to the untrained hand, as participants were immediately reaching in the expected direction. Finally, we do not observe any reach aftereffects.

plotMTGen()

For completion times, we find that movements become faster as trials progress within each quadrant. These movements are faster compared to initial completion times in the first session.

plotPLGen()

We find the same pattern of results for path lengths, where participants performed shorter movement trajectories as trials progressed within a quadrant.

Conclusions

It is viable to investigate the mirror reversal task on a browser-based platform. However, participants exploring the workspace is associated with fast learning of how to counter the perturbation. Regardless, there is still behavioral evidence of learning, as seen with movement times and path lengths decreasing and the distributions of reach deviations shifting towards the correct movement direction.

There seems to be no effect of instructions. There may be a need to test understanding of the strategy given to counter for the perturbation, and/or show animations of the expected reach, in order to observe an effect.

These set of studies had some experimental shortcomings. In the Summer 2020 data set and the generalization experiments, target locations alternated on every other trial instead of being random. Furthermore, in all experiments, participants were allowed to move towards the start position with the mirror perturbation already turned on, thereby allowing them to explore the workspace. For these reasons, we opted to keep these data and results only as supplementary data, since the large sample size collected still provides insights and findings that are fairly similar to what we discuss in the manuscript. We corrected for these experimental details in the experiment we present in the manuscript, and look into more target locations that show a better representation of distances from the mirror axis.